namespace FwkLight.Domain
{
	public interface ISpecification<T>
	{
		bool IsSatisfiedBy ( T entity );
	}

	public interface ISpecification<T, M>
	{
		bool IsSatisfiedBy(T entity, M seccondEntity);
	}

	public interface ISpecification<T, Param1, Param2>
	{
		bool IsSatisfiedBy(T entity, Param1 param1, Param2 param2);
	}

	public interface ISpecification<T, Param1, Param2, Param3>
	{
		bool IsSatisfiedBy(T entity, Param1 param1, Param2 param2, Param3 param3);
	}

	public interface ISpecification<T, Param1, Param2, Param3, Param4>
	{
		bool IsSatisfiedBy(T entity, Param1 param1, Param2 param2, Param3 param3, Param4 param4);
	}
}